package com.xbongbong.pro.statistic.pojo.dto;

import com.alibaba.fastjson.JSONObject;
import com.xbongbong.paas.toolbox.wrap.BaseDTO;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Map;

/**
 * @author zcp
 * @version v1.0
 * @since v1.0
 */
@Getter
@Setter
@ToString
public class DataSetBoardSaveDTO extends BaseDTO {
    private static final long serialVersionUID = 6361587175390127667L;
    /**
     * 数据集id
     */
    @NotNull(message = "{dto.msg.common.id.NotNull}")
    private Long id;
    /**
     * 名称
     */
    @Size(max=20,   message ="{dto.msg.dataSetSave.name.Length}" )
    private String name;
    /**
     * 画布，json对象内key为节点id，value为节点对象，格式见：https://alidocs.dingtalk.com/i/nodes/ZK0RbznqyYaWdDArnLwaW953mBE4AdDw?blockHash=l2rf95cx4z7cy0l0y6w&nav=spaces&navQuery=spaceId%3DO5pXB64OMkEoX7Zv
     * 其中节点类型根据枚举：DataSetNodeTypeEnum
     * key：动态的节点id，但是前缀都是"node_"
     * value：节点信息，格式为JSONObject
     */
    @NotEmpty(message = "{dto.msg.dataSetBoardSave.board.NotEmpty}")
    private Map<String, JSONObject> board;

    /**
     * 节点设置是否变更 （仅移动节点位置不代表变更） true-变更  false-未变更
     */
    private Boolean editFlag;
}
